const apiSign = require('@/utils/apiSign');

// api 拦截器中间件
module.exports = function (req, res, next) {
  console.log('-------请求拦截器处理-------');
  // 非 api 不做处理
  if (req.path.indexOf('api/') < 0) {
    return next();
  }
  // 获取请求头信息、作为签名参数
  const headerInfo = {
    sign: req.headers['sign'],
    timestamp: req.headers['timestamp'] // 请求头种时间戳
  };
  // 验证签名失败
  if (!apiSign(headerInfo)) {
    // res 获取的数据进行之前中间件做过处理
    return res.status(400).api_error('非法请求,您的IP已被记录,请谨慎操作', 1003);
  }
  next();
};
